package com.poem.springboot_rear.exception;

import com.poem.springboot_rear.common.Result;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 功能: 捕获异常类
 * 作者：小祝小祝
 * 日期： 2023/11/13 20:32
 */

@ControllerAdvice
public class GlobalException {

    // 捕获ServiceException异常
    @ExceptionHandler(ServiceException.class)
    @ResponseBody  // 把Result对象转换为JSON
    public Result serviceException(ServiceException e){
        // e.getMessage  传过来的自定义数据
        // e.getCode()  拿取错误代码 例如500
        return Result.error(e.getCode(),e.getMessage());
    }

    @ExceptionHandler(Exception.class)
    @ResponseBody  // 把Result对象转换为JSON
    public Result globalException(Exception e){
        e.printStackTrace();  // 打印错误
        return Result.error("500","系统错误");
    }
}
